package com.enjoy.bit;

/**
 * 判断一个数是否是2的N次方，比如2 4 8 16是的，6 10不是，就看这个数是不是可以拆成N个2相乘
 */
public class Test {
    public static void main(String[] args) {
        int i = -10;

        while (true) {
            if (i % 2 == 0) {
                i = i / 2;
            } else {
                break;
            }
        }

        // 01111111111111111111111111111111
        System.out.println(Integer.toBinaryString(Integer.MAX_VALUE));
        // 11111111111111111111111111111111
        System.out.println(Integer.toBinaryString(-1));

        if ((i & (i - 1)) == 0) {
            System.out.println("是2的n次方");
        }


    }
}
